Credit to: https://datascience.stackexchange.com/questions/12840/3d-contour-plot-in-r

# install the package if you have not
#install.packages("plotly")
library(plotly)
packageVersion('plotly')
x = runif(1000)
y = runif(1000)
s <- subplot(
  plot_ly(x = x, type = "histogram", showlegend=FALSE),
  plotly_empty(),
  plot_ly(x = x, y = y, type = "histogram2dcontour", showlegend=FALSE),
  plot_ly(y = y, type = "histogram", showlegend=FALSE),
  nrows = 2, heights = c(0.2, 0.8), widths = c(0.8, 0.2),
  shareX = TRUE, shareY = TRUE, titleX = FALSE, titleY = FALSE
)
No trace type specified and no positional attributes specifiedNo trace type specified:
  Based on info supplied, a 'scatter' trace seems appropriate.
  Read more about this trace type -> https://plot.ly/r/reference/#scatter
No scatter mode specifed:
  Setting the mode to markers
  Read more about this attribute -> https://plot.ly/r/reference/#scatter-mode
layout(s)
LS0tCnRpdGxlOiAiNi0xMi0xOSBwbG90bHkgZ3JhcGhpYyB0cnkgLSBEdWFsIEhpc3RvZ3JhbSIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKQ3JlZGl0IHRvOiBodHRwczovL2RhdGFzY2llbmNlLnN0YWNrZXhjaGFuZ2UuY29tL3F1ZXN0aW9ucy8xMjg0MC8zZC1jb250b3VyLXBsb3QtaW4tcgoKYGBge3J9CiMgaW5zdGFsbCB0aGUgcGFja2FnZSBpZiB5b3UgaGF2ZSBub3QKI2luc3RhbGwucGFja2FnZXMoInBsb3RseSIpCmxpYnJhcnkocGxvdGx5KQpwYWNrYWdlVmVyc2lvbigncGxvdGx5JykKYGBgCgpgYGB7cn0KeCA9IHJ1bmlmKDEwMDApCnkgPSBydW5pZigxMDAwKQpzIDwtIHN1YnBsb3QoCiAgcGxvdF9seSh4ID0geCwgdHlwZSA9ICJoaXN0b2dyYW0iLCBzaG93bGVnZW5kPUZBTFNFKSwKICBwbG90bHlfZW1wdHkoKSwKICBwbG90X2x5KHggPSB4LCB5ID0geSwgdHlwZSA9ICJoaXN0b2dyYW0yZGNvbnRvdXIiLCBzaG93bGVnZW5kPUZBTFNFKSwKICBwbG90X2x5KHkgPSB5LCB0eXBlID0gImhpc3RvZ3JhbSIsIHNob3dsZWdlbmQ9RkFMU0UpLAogIG5yb3dzID0gMiwgaGVpZ2h0cyA9IGMoMC4yLCAwLjgpLCB3aWR0aHMgPSBjKDAuOCwgMC4yKSwKICBzaGFyZVggPSBUUlVFLCBzaGFyZVkgPSBUUlVFLCB0aXRsZVggPSBGQUxTRSwgdGl0bGVZID0gRkFMU0UKKQpsYXlvdXQocykKYGBgCgo=